import Vue from 'vue'
import Vuex from 'vuex'

import { setItem, getItem } from '../utils/storage.js'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 定义存储当前用户的登录信息的state  （登录信息是一个包含了token的对象）
    // user的初始值应该从LocalStorage中取，如果没有，则为空对象
    user: getItem('USER_TOKEN') || null
  },
  mutations: {
    // 定义对存储的登录信息进行修改的mutation
    setUser (state, data) {
      state.user = data
      // 每当修改vuex中数据的时候，立即同时修改LocalStorage中的数据
      setItem('USER_TOKEN', data)
    }
  },
  actions: {
  }
})
